package com.ruoyi.training.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 班级签到活动（单节课程的签到配置）对象 class_checkin
 * 
 * @author WorrilessGo
 * @date 2025-09-24
 */
public class ClassCheckin extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 班级签到表ID（主键） */
    private String classCheckinId;

    /** 班级表ID */
    private String trainingClassId;

    /** 签到创建时间（自动填充） */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签到创建时间", readConverterExp = "自=动填充")
    private Date checkinTime;

    /** 签到开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "签到开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date checkinStartTime;

    /** 签到结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "签到结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date checkinEndTime;

    /** 签到位置 */
    @Excel(name = "签到位置")
    private String checkinLocation;

    /** 培训计划表ID（外键，关联training_schedule表） */
    @Excel(name = "培训计划表ID", readConverterExp = "外=键，关联training_schedule表")
    private String trainingScheduleId;

    /** 说明 */
    @Excel(name = "说明")
    private String checkinRemarks;

    public void setClassCheckinId(String classCheckinId) 
    {
        this.classCheckinId = classCheckinId;
    }

    public String getClassCheckinId() 
    {
        return classCheckinId;
    }

    public void setCheckinTime(Date checkinTime) 
    {
        this.checkinTime = checkinTime;
    }

    public Date getCheckinTime() 
    {
        return checkinTime;
    }

    public void setCheckinStartTime(Date checkinStartTime) 
    {
        this.checkinStartTime = checkinStartTime;
    }

    public Date getCheckinStartTime() 
    {
        return checkinStartTime;
    }

    public void setCheckinEndTime(Date checkinEndTime) 
    {
        this.checkinEndTime = checkinEndTime;
    }

    public Date getCheckinEndTime() 
    {
        return checkinEndTime;
    }

    public void setCheckinLocation(String checkinLocation) 
    {
        this.checkinLocation = checkinLocation;
    }

    public String getCheckinLocation() 
    {
        return checkinLocation;
    }

    public void setTrainingScheduleId(String trainingScheduleId) 
    {
        this.trainingScheduleId = trainingScheduleId;
    }

    public String getTrainingScheduleId() 
    {
        return trainingScheduleId;
    }

    public void setCheckinRemarks(String checkinRemarks) 
    {
        this.checkinRemarks = checkinRemarks;
    }

    public String getCheckinRemarks() 
    {
        return checkinRemarks;
    }

    public String getTrainingClassId() {
        return trainingClassId;
    }

    public void setTrainingClassId(String trainingClassId) {
        this.trainingClassId = trainingClassId;
    }

    @Override
    public String toString() {
        return "ClassCheckin{" +
                "classCheckinId='" + classCheckinId + '\'' +
                ", trainingClassId='" + trainingClassId + '\'' +
                ", checkinTime=" + checkinTime +
                ", checkinStartTime=" + checkinStartTime +
                ", checkinEndTime=" + checkinEndTime +
                ", checkinLocation='" + checkinLocation + '\'' +
                ", trainingScheduleId='" + trainingScheduleId + '\'' +
                ", checkinRemarks='" + checkinRemarks + '\'' +
                '}';
    }
}
